package com.un.ebs.customer.domain;

import java.util.Date;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springframework.stereotype.Component;
import lombok.Data;
import com.un.ebs.core.metadata.DbField;

/**
 * (CustomerTraceExt)表实体类
 *
 * @author liubo
 * @since 2020-10-21 08:55:06
 */
@Data
@Component
@TableName("v_customer_trace_ext")
@SuppressWarnings("serial")
public class CustomerTraceExt extends Model<CustomerTraceExt> {


    @DbField(name = "id", length = 40, precision = 0)
    private String id;

    @DbField(name = "customer_id", length = 40, precision = 0)
    private String customerId;

    @DbField(name = "trace_dict", length = 100, precision = 0)
    private String traceDict;

    @DbField(name = "trace_dict_desc", length = 100, precision = 0)
    private String traceDictDesc;

    @DbField(name = "personnel_id", length = 40, precision = 0)
    private String personnelId;

    @DbField(name = "personnel_name", length = 255, precision = 0)
    private String personnelName;

    @DbField(name = "plan_date", length = -1, precision = 0)
    private Date planDate;

    @DbField(name = "real_date", length = -1, precision = 0)
    private Date realDate;

    @DbField(name = "remind_date", length = -1, precision = 0)
    private Date remindDate;

    @DbField(name = "remind_type", length = -1, precision = 0)
    private Integer remindType;

    @DbField(name = "remind_remark", length = 200, precision = 0)
    private String remindRemark;

    @DbField(name = "remark", length = 200, precision = 0)
    private String remark;

    @DbField(name = "activity_customer_id", length = 40, precision = 0)
    private String activityCustomerId;

    @TableField(fill = FieldFill.INSERT)
    @DbField(name = "create_time", length = -1, precision = 0)
    private Date createTime;

    @TableField(fill = FieldFill.INSERT)
    @DbField(name = "create_at", length = 40, precision = 0)
    private String createAt;

    @DbField(name = "is_plan", length = -1, precision = 0)
    private Boolean isPlan;

    @DbField(name = "plan_complete_time", length = -1, precision = 0)
    private Date planCompleteTime;

    @DbField(name = "expire_day", length = -1, precision = 0)
    private Integer expireDay;

    @DbField(name = "sort_time", length = -1, precision = 0)
    private Date sortTime;

    @DbField(name = "parent_id", length = 40, precision = 0)
    private String parentId;

    @DbField(name = "customer_name", length = 100, precision = 0)
    private String customerName;

    @DbField(name = "customer_phone", length = 100, precision = 0)
    private String customerPhone;

    @DbField(name = "customer_personnel_id", length = 40, precision = 0)
    private String customerPersonnelId;

    @TableField(fill = FieldFill.INSERT)
    @DbField(name = "create_at_name", length = 100, precision = 0)
    private String createAtName;

    @DbField(name = "customer_personnel_name", length = 255, precision = 0)
    private String customerPersonnelName;

    @DbField(name = "customer_user_id", length = 40, precision = 0)
    private String customerUserId;

    @DbField(name = "tenant_id", length = 40, precision = 0)
    private String tenantId;


}